2

这是Redis速查系列的开篇,如有不当之处欢迎指正

操作 操作类型 操作说明 结果返回 示例
set 新增:创建指定key对应的值 创建一条String类型记录(相当于MySQL insert操作) 成功:'ok' ① set name 'wuliuqing'
setnx 新增:检测是否存在,不存在则新增 创建一条String类型记录前,检测指定名称的key是否已创建过,未创建则执行set操作;setnx = set not exists 成功:1;失败:0 ① setnx name 'zhangsanfeng';return 0
② setnx age 16;return 1
setex 新增:创建key对应值为value,并设置有效期 创建一条String类型记录,并设置值的有效期为N秒:setex = set expire 成功:'ok' ① setex name 10 'wuliuqing'
设置name值为'wuliuqing',10秒后过期,过期后执行get name操作 返回nil
setrange 更新:设置key对应value的子字符串值 替换一条key对应value子字符串的值,注意字符串下表从0开始 成功:value值的新长度 前提:set name 'wu liuqing'
① setrange name 2 'qing';执行get name操作返回'wuqingqing',即替换掉值' liu';
② setrange name 2 'fei good boy';执行get name操作返回'hufei good boy',即替换值'qingqing'
mset 新增:执行多个 key:value操作 新增多条key:value记录,相当于多次执行set操作
mset = multiple set
成功:'ok' ① mset name 'wuliuqing' age 18
执行get name操作返回'wuliuqing',执行get age操作返回'18'
msetnx 新增:检测是否存在,不存在则新增 在mset基础上执行检测对应的key是否已创建,未创建则执行新增 成功:1
失败:0
前提:mset name 'wu liuqing' age 18
① msetnx name 'zhang sanfeng' nickname 'zhang zhenren';
响应结果为0;执行get name操作返回'wu liuqing',执行get nickname操作返回nil
② msetnx nickname 'liu gongzi' job 'php engineer';
响应结果为1;执行get nickname操作返回'liu gongzi',执行get job操作返回'engineer'
del 删除 相当于MySQL delete操作 成功:1
失败:0
前提:set name 'wu liuqing'
del name
get 查询:查询指定key设置的值 查询一条String类型key对应记录(相当于MySQL select操作) 成功:返回key对应value
失败:nil
getset 查询并更新 设置指定key的新值,并返回key对应的旧值 成功:key对应旧值
失败:nil
前提:set name 'wu liuqing'
①getset name 'zhangsanfeng';响应结果'wuliuqing',执行get name响应结果为'zhangsanfeng'
②getset age 16;响应结果nil
getrange 查询字串 查询key对应位置的字串
语法:getrange key stratpos endpos
成功:字串 前提:set name 'wu liuqing'
① getrange name 3 -1;响应liuqing
② getrange name 3 5; 响应liu
mget 查询 查询多个key对应的value 成功:返回key对应value
失败:nil
前提:set name 'wu liuqing' age 18
① mget name age;响应
1> 'wuliuqing'
2> '18'
① mget name nickname;响应
1> 'wuliuqing'
2> nil
incr 自增 对数字类型value执行自增操作 成功:返回自增后value 前提:set age 18
① incr age;响应结果:19
前提:set name 'wuliuqing'
② incr name;响应:
ERR value is not an integer or out of range
incrby 按指定值执行加法操作 对数字类型value执行+N 操作
语法:incrby key stepvalue(当stepvalue为负值时执行减法操作 = decrby操作)
成功:返回key执行+N后的value 前提:set age 18
① incrby age 2;响应20
② incrby age -5; 响应15
decr 自减
decrby 按指定值执行减法操作 对数字类型value执行-N 操作
语法:decrby key stepvalue(当stepvalue为负值时执行加法操作 = incrby操作)
前提:set age 18
① decrby age 2;响应16
② incrby age -4; 响应20
append 拼接操作 在字符串结果拼接新字符串 成功:返回拼接后字符长度 前提:set name 'hu'
① append name ' liuqing';响应10
前提:set age 18
② append age ' year's old';响应13
strlen 获取长度 获取key对应value字符串长度 前提:set name 'hu'
① strlen name;响应9

柳公子
3.3k 声望1.5k 粉丝

学以致用,边学边用